18 research outputs found

    Globally Distributed Software Process Engineering

    Get PDF
    Software processes is becoming a more addressed issue in software development companies every day. These processes are defined regardless of the environment in which they run. To incorporate aspects of that environment is essential, especially if referring to GSE. Despite this fact, the process itself should not be necessary modified. This paper provides a first draft of a research focused on software process definition, modeling, implementation and evaluation in a GSE environment, so as to facilitate the information exchange through a hierarchical process that does not involve modification of specific processes.Ministerio de Educación y Ciencia TIN2007-67843-C06-03Ministerio de Educación y Ciencia TIN2010-20057-C03-0

    Un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software

    Get PDF
    Falta palabras clavesHoy en día los sistemas software son cada vez más complejos y su desarrollo se convierte en un desafío continuo para las empresas de software que deben adaptar su forma de trabajar al entorno cambiante, dinámico y globalizado que las caracteriza. En aras de la fabricación de productos software de calidad, en un tiempo de acceso al mercado adecuado y con un coste competitivo, los procesos de software se han convertido en uno de los activos fundamentales de cualquier empresa del sector de las tecnologías de la información y las comunicaciones (TIC). Son muchos los estándares y modelos de referencia, que la industria del software usa y aplica, que establecen la importancia de tener definidos y documentados los procesos de software, estableciendo qué características o requerimientos deberán cumplir, pero no indican cómo definir esos procesos. La búsqueda de la mejor forma de representar y definir los procesos de software dentro de las organizaciones, para garantizar su uso de forma sistemática e institucionalizada, ha sido objeto de estudio desde hace décadas, mediante la creación de diferentes lenguajes de modelado de procesos de software. Desde los años 90 más de una treintena de lenguajes significativos han sido desarrollados con el objetivo de modelar los procesos de software. Cada uno de estos lenguajes era creado para solventar algún problema existente que no estaba resuelto con los anteriores, pero con el mismo objetivo: obtener los modelos de procesos y sistematizar su uso en las empresas de software. Varias han sido las tendencias sobre las tecnologías base para su modelado, desde la creación de nuevos lenguajes de programación específicos para procesos, pasando por la formalidad de las redes de Petri, hasta los más modernos enfoques basados en modelos de acuerdo con el paradigma de la ingeniería dirigida por modelos (Model Driven Engineering, MDE). Sin embargo, a pesar de todos los esfuerzos por generar un lenguaje de modelado de procesos de software que sobresaliera por encima del resto y se convirtiera en un estándar de uso generalizado por las organizaciones de software a nivel mundial, ninguno ha tenido una aceptación muy superior al resto. Ni siquiera el respaldo de los más importantes organismos de estandarización en el ámbito del software ha conseguido cambiar esta inercia, ya sea por el conocimiento existente en los ingenieros de procesos o por la dinámica heredada por el sector en el que una empresa se mueve. Cada organización selecciona el lenguaje de modelado de procesos de software que considera más adecuado en sus inicios, estableciendo un vínculo tan fuerte que es difícil de romper más adelante, de forma que si las necesidades evolucionan con el tiempo, es preciso un cambio de lenguaje o, simplemente, es necesario que los procesos de una organización interoperen con los de otras para llevar a cabo algún proyecto específico, la actividad de transformación o traducción a otros lenguajes se convierte en una tarea muy costosa en tiempo y esfuerzo de personal, generadora de errores e inconsistencias. A diferencia de las propuestas de estandarización más extendidas, el planteamiento en este trabajo de tesis aboga por mantener la diversidad de lenguajes de modelado de procesos de software en la organizaciones de la forma en la que éstas lo consideren oportuno, siendo su objetivo fundamental el desarrollo de un marco de referencia para facilitar, mejorar y agilizar la interoperabilidad y mantenibilidad de los modelos de procesos de software, independientemente del lenguaje elegido para su modelado. Para alcanzarlo, el marco de referencia está basado en tres pilares fundamentales. El primero de ellos consiste en un lenguaje de modelado de procesos de software adecuado para el marco, que se considera como un lenguaje base y al que hemos denominado INROMA (INteROperabilidad y MAntenibilidad). Dicho lenguaje se caracteriza por ser de fácil aprendizaje y por contener únicamente aquellos conceptos necesarios comunes para la definición y modelado de cualquier proceso de software, siguiendo la norma ISO/IEC TR 24744:2007, por lo que se convierte en una pieza clave para la interoperabilidad y mantenibilidad de los mismos. Estas características le convierten en un lenguaje de fácil acceso para cualquier organización, y no privilegia ningún lenguaje de modelado de procesos de software existente frente al resto. En el desarrollo de INROMA se han definido tanto su sintaxis abstracta, siguiendo el paradigma MDE, mediante un metamodelo, algo básico para obtener las funcionalidades del marco, como su sintaxis concreta, en su uso como lenguaje. El segundo de los pilares fundamentales es el método mediante el que se establecen las bases teóricas que permiten incorporar nuevos lenguajes de modelado de procesos de software al marco de referencia. Por último, el tercero de los pilares son las transformaciones que formalizan las correspondencias y se constituyen como el nexo entre cualquier lenguaje de modelado de procesos de software incorporado al marco de referencia e INROMA. Los tres elementos conforman el marco de referencia para facilitar la interoperabilidad y mantenibilidad de los procesos de software. Teniendo en cuenta que uno de los principales propósitos en el desarrollo de este trabajo de tesis es lograr su utilización en entornos empresariales, para conseguir un importante impacto en estos ámbitos todo este fundamento teórico se completa con MONETA, una herramienta de soporte para el marco de referencia, proporcionando asistencia y automatización en su uso. Dicha herramienta ha sido validada mediante casos de estudio reales extraídos de proyectos de transferencia con empresas en los que se observa cómo la propuesta desarrollada ha sido de gran utilidad en los mismos. En definitiva, esta tesis doctoral plantea el desarrollo de un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software, abordando tanto el planteamiento teórico que los sustenta como la parte práctica mediante una herramienta de soporte para su utilización en empresas

    Don’t Throw your Software Prototypes Away. Reuse them!

    Get PDF
    The mechanism of prototype development is considered by the research and industrial software communities as a key tool for user-developer communication. In software development, prototypes are used in requirements engineering to help elicit and validate users’ needs. Software prototypes like mockups are frequently considered throwaway artefacts and therefore they are often developed very fast, or with very few resources and discarded. In this paper we propose to change this idea, and to create prototypes that can be reused in any model-driven engineering (MDE) process. The paper presents an approach for an automatic mechanism for translating prototype models into requirements models and its implementation in a suitable tool case. This way, software developer teams will be able to dedicate resources to improving communication with users using prototypes because the knowledge acquired will be automatically transferred to the requirements phase of the development process

    Lean requirements traceability automation enabled by model-driven engineering

    Get PDF
    Background: The benefits of requirements traceability, such as improvements in software product and process quality, early testing, and software maintenance, are widely described in the literature. Requirements traceability is a critical, widely accepted practice. However, very often it is not applied for fear of the additional costs associated with manual efforts or the use of additional tools. Methods: This article presents a “low-cost” mechanism for automating requirements traceability based on the model-driven paradigm and formalized by a metamodel for the creation and monitoring of traces and an integration process for traceability management. This approach can also be useful for information fusion in industry insofar that it facilitates data traceability. Results: This article extends an existing model-driven development methodology to incorporate traceability as part of its development tool. The tool has been used successfully by several companies in real software development projects, helping developers to manage ongoing changes in functional requirements. One of those projects is cited as an example in the paper. The authors’ current work leads them to conclude that a model-driven engineering approach, traditionally used only for the automatic generation of code in a software development process, can also be used to successfully automate and integrate traceability management without additional costs. The systematic evaluation of traceability management in industrial projects constitutes a promising area for future work.Junta de Andalucía AT17-5904-USEJunta de Andalucía US-1251532Ministerio de Ciencia, Innovación y Universidades PID2019-105455GB-C3

    Software Process Management: A Model- Based Approach

    Get PDF
    Business processes constitute one major asset in an organization and software businesses are not an exception. Processes defi nition, maintenance, and management are key aspects to control and defi ne how to build software systems up and also to support decision-making. In this paper, a model-based approach is proposed to facilitate these processes. Thus, a global environment for business processes in software development is presented. The fi nal results are illustrated through the NDTQ-Framework, a solution based on this approach that is currently being used in software development organizations.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Ministerio de Ciencia e Innovación TIN 2010-12312-EJunta de Andalucía TIC-578

    NDT-Suite: A Model-Based Suite for the Application of NDT

    Get PDF
    In general, a methodology needs to be empowered by appropriate tool support. Despite MDE paradigm does not result friendly enough in enterprise environments, particularly, the application of transformations among models may become complex, monotonous and very expensive if there are no software tools automating the process. In this context, this research paper presents NDT-Suite. Nowadays, NDT-Suite is composed by a wide set of free Java tools which gives support to enterprises that are using NDT (Navigational Development Techniques) methodology in their projects. All of them support different aspects in NDT usage: quality assurance, exit generation or code checking, among others. These seeds set the environment for NDT usage for both research and practical use.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Ministerio de Ciencia e Innovación TIN 2010-12312-EJunta de Andalucía TIC-578

    Software Process Accessibility in practice: a case study

    Get PDF
    Software processes are recognized as fundamental assets in development organizations since they support the capability to produce better products. A means for handling the complexity of these processes is through models, and software process modeling languages (SPMLs) are languages to express those processes. Different requirements for SPMLs have been identified by some authors, but accessibility is not one of them. There is little empirical evidence of the use of software processes by people with accessibility difficulties in software organizations. The goal of this case study is to investigate what are the requirements to make software processes become accessible. The subjects are users of a methodology called NDT and its support tools, and who have a kind of disability. The objective is to know the main requirements in order to read and execute software processes and become a process engineer. Conclusions and future work in this field are also presented to improve this area.Ministerio de Educación y Ciencia TIN2010-20057-C03-02Ministerio de Educación y Ciencia TIN2010-20057-C03-01Junta de Andalucía TIC-578

    A model‐based solution for process modeling in practice environments: PLM4BS

    Get PDF
    Today's world economic situation is ruled by issues such as reducing cost, improving quality, maximizing profit, and improving and optimizing processes at organizations. In this context, business process management can be an essential strategy, but it is not usually consolidated at software organizations because software process properties involve a complex business process management application on software lifecycle. Consequently, software organizations often focus on Software Process Modeling (SPM), and each involved role performs process execution and orchestration independently and manually. This fact makes software processes maintenance, monitoring, and measurement become difficult tasks. This paper proposes a model‐based approach for SPM taking into account concepts related to process execution, orchestration, and monitoring. It is framed into a model‐driven engineering‐based and toolbased framework: Process Lifecycle Management for Business Software (PLM4BS). We present a SPM metamodel and its concrete syntax (through Unified Modeling Language profiles) that lays the foundation for extending PLM4BS. Its underlying metamodel allows managing processes automatically. Furthermore, PLM4BS improves current state‐of‐the‐art proposals in 6 dimensions: expressiveness, understandability, granularity, measurability, orchestrability, and business variables and rules. Also, PLM4BS has been evaluated in a multiple‐case study, in which the 6 mentioned dimensions were already validated.Ministerio de Economía y Competitividad TIN2016‐76956‐C3‐2‐RMinisterio de Economía y Competitividad TIN2015‐71938‐RED

    A Model-Driven Approach for Business Process Management

    Get PDF
    The Business Process Management is a common mechanism recommended by a high number of standards for the management of companies and organizations. In software companies this practice is every day more accepted and companies have to assume it, if they want to be competitive. However, the effective definition of these processes and mainly their maintenance and execution are not always easy tasks. This paper presents an approach based on the Model-Driven paradigm for Business Process Management in software companies. This solution offers a suitable mechanism that was implemented successfully in different companies with a tool case named NDTQ-Framework.Ministerio de Educación y Ciencia TIN2010-20057-C03-02Junta de Andalucía TIC-578

    Software process modeling languages: A systematic literature review

    Get PDF
    Context Organizations working in software development are aware that processes are very important assets as well as they are very conscious of the need to deploy well-defined processes with the goal of improving software product development and, particularly, quality. Software process modeling languages are an important support for describing and managing software processes in software-intensive organizations. Objective This paper seeks to identify what software process modeling languages have been defined in last decade, the relationships and dependencies among them and, starting from the current state, to define directions for future research. Method A systematic literature review was developed. 1929 papers were retrieved by a manual search in 9 databases and 46 primary studies were finally included. Results Since 2000 more than 40 languages have been first reported, each of which with a concrete purpose. We show that different base technologies have been used to define software process modeling languages. We provide a scheme where each language is registered together with the year it was created, the base technology used to define it and whether it is considered a starting point for later languages. This scheme is used to illustrate the trend in software process modeling languages. Finally, we present directions for future research. Conclusion This review presents the different software process modeling languages that have been developed in the last ten years, showing the relevant fact that model-based SPMLs (Software Process Modeling Languages) are being considered as a current trend. Each one of these languages has been designed with a particular motivation, to solve problems which had been detected. However, there are still several problems to face, which have become evident in this review. This let us provide researchers with some guidelines for future research on this topic.Ministerio de Economía y Competitividad TIN2010-20057-C03-02Ministerio de Economía y Competitividad TIN 2010-12312-EJunta de Andalucía TIC-578
    corecore